import { reqGetSearchInfo } from '@/api';
// search模块的小仓库
const state = {
    //仓库初始状态
    searchList: {}
};
const mutations = {
    GETSEARCHLIST(state, searchList) {
        state.searchList = searchList;
    }
};
const actions = {
    //获取search模块数据
    async getSearchList({ commit }, params = {}) {
        //当前这个reqGetSearchInfo这个函数调用获取服务器数据的时候，至少传递一个参数（空对象）
        //params形参是当用户派发action的时候，第二个参数传递过来的，而且至少是一个空对象
        const result = await reqGetSearchInfo(params);
        if (result.code == 200) {
            commit('GETSEARCHLIST', result.data);
        }
    }
};
//计算属性
//在项目中, getters主要作用是：简化仓库中的数据
//可以把我们将来在组件当中需要用的数据简化一下【将来组件在获取数据的时候就方便了】
//getters时不分模块的
const getters = {
    //当前形参state是当前仓库中的state, 并非大仓库中的state
    /* goodsList(state) {
        //这样书写时有问题的
        return state.searchList.goodsList;
    },
    trademarkList(state) {
        return state.searchList.trademarkList;
    },
    attrsList(state) {
        return state.searchList.attrsList;
    } */
    //如果服务器的数据回来了，没问题，是一个数组，
    //假如网络不给力或者没有网络state.searchList.goodsList返回的是undefined
    //计算新的属性的属性值至少给人家来一个空数组
    goodsList: state => state.searchList.goodsList || [],
    trademarkList: state => state.searchList.trademarkList || [],
    attrsList: state => state.searchList.attrsList || [],
};
export default {
    state,
    mutations,
    actions,
    getters
};